package com.qdlc.p2p.biz.service;

import com.qdlc.p2p.dal.dto.BorrowTender;
import com.qdlc.p2p.dal.dto.ExperienceTender;

/**
 * 体验券投标信息Service
 *
 * @author xxx
 * @version 2.0
 * @date 2015年4月27日 下午7:00:26
 */
public interface ExperienceTenderService {

    /**
     * 获取借款标中使用体验券投标总额
     *
     * @param borrowId
     * @param status
     * @return
     */
    double sumExperienceCapital(long borrowId, byte status);

    /**
     * 获取投资人在借款标中使用体验券投标总额
     *
     * @param userId
     * @param borrowId
     * @param status
     * @return
     */
    double sumExperienceCapital(long userId, long borrowId, byte status);

    /**
     * 体验券投标
     *
     * @param tender
     * @param experiences
     * @param accountLogType
     */
    void tenderUseExperience(BorrowTender tender, Object experiences, String accountLogType);

    /**
     * 复审未通过/撤标
     * 归还体验券
     */
    void experienceFullFail(BorrowTender tender, String accountLogType);

    /**
     * 复审通过
     * 生成体验券待收collection
     */
    void experienceFullSuccess(BorrowTender tender, String accountLogType);

    /**
     * 还款
     *
     * @param borrowId
     * @param period
     */
    void experienceRepay(long borrowId, byte period);

    /**
     * 根据投标ID获取用户使用体验券本金
     *
     * @param tenderId
     * @return
     */
    double getTenderExperienceAmount(long tenderId);

    /**
     * 根据投标ID获取用户使用体验券
     *
     * @param tenderId
     * @return
     */
    ExperienceTender getTenderExperience(long tenderId);
}
